import axios from 'axios'

// 全局的创建axios请求对象
const service=axios.create({
  baseURL:"https://api.oioweb.cn",//基本请求路径
  timeout:5000//请求超时时间设置
})


export default function (url,method="get",data,header="form") {
  if(method=="get"){
     axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  }
  // 
  if(method=="post"&&header=="form"){
    axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  }
  // json类型的请求头
    if(method=="post"&&header=="json"){
    axios.defaults.headers.post['Content-Type'] = 'application/json';

  }
  // 上传类型请求头
     if(method=="post"&&header=="upload"){
    axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';
  }
// 请求拦截器设置
// 每个请求都会进入请求拦截器
// 应用场景：加载loading效果，拦截到token携带到请求头
service.interceptors.request.use(config=>{
  // 将token携带到请求头
  if(localStorage.token){

    // config.headers.Authorization = 'Bearer ' + token
  }
 
  return config
})
// 响应拦截器 --每次后台返回数据的时候都会进入响应拦截器
// 应用场景：取消loading 根据后台设计的状态做公共提示
service.interceptors.response.use((response )=>{
    if(response.code==700){
      alert("暂无数据")
    }
  return response
})

 return service({
    url:url,
    method:method,
    [method=='get'?'params':'data']:data
 })

}
